primates_cr <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/primates-cr-registros.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude",
"Y_POSSIBLE_NAMES=decimalLatitude"
),
quiet = TRUE
)
# Asignación de CRS
st_crs(primates_cr) = 4326
# Capa Geoespacial de cantones
cantones <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_cantones_simp_wgs84.geojson",
quiet = TRUE
)
provincias <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_provincias_simp_wgs84.geojson",
quiet = TRUE
)
# Cruce espacial con la tabla de cantones, para obtener el nombre del cantón
primates_cr <-
primates_cr %>%
st_join(cantones["canton"])
En la presente tarea se observaran las proporciones estadísiticas de cuatro especies de primates (monos) en Costa Rica y a su vez se mapearan los diferentes registros que se poseen, ubicando cada observasión por provincia y cantón.
# Tabla de registros de presencia
primates_cr %>%
st_drop_geometry() %>%
dplyr::select(family, species, stateProvince, locality, eventDate) %>%
datatable(
colnames = c("Familia","Especies","Provincia","Localidad","Fecha"),
options = list(
searchHighlight = TRUE,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
)
)
# Gráfico de estacionalidad
df_primates %>%
plot_ly(
labels = ~titular,
values = ~proporciones,
type = "pie",
textposition = "inside",
textinfo = "label+percent"
) %>%
config(locale = "es") %>%
layout(
title = "Registros por especie de primates",
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)
)
Araña <- primates_cr %>%
dplyr::select(species,
stateProvince,
locality,
eventDate,
decimalLatitude,
decimalLongitude) %>%
filter(species == 'Ateles geoffroyi')
Carablanca <- primates_cr %>%
dplyr::select(species,
stateProvince,
locality,
eventDate,
decimalLatitude,
decimalLongitude) %>%
filter(species == 'Cebus capucinus')
Aullador <- primates_cr %>%
dplyr::select(species,
stateProvince,
locality,
eventDate,
decimalLatitude,
decimalLongitude) %>%
filter(species == 'Alouatta palliata')
Ardilla <- primates_cr %>%
dplyr::select(species,
stateProvince,
locality,
eventDate,
decimalLatitude,
decimalLongitude) %>%
filter(species == 'Saimiri oerstedii')
alt <- getData(
"worldclim",
var = "alt",
res = .5,
lon = -84,
lat = 10
)
altitud <-
alt %>%
crop(provincias) %>%
mask(provincias)
rcol <- colorNumeric(
c("#FFFACD", "#FFA07A", "#ADFF2F"),
values(altitud),
na.color = "transparent"
)
Ateles <- paste0("<b>","Especie del primate: ","</b>",
(Araña$species), "<br>",
"<b>","Provincia: ","</b>",
(Araña$stateProvince), "<br>",
"<b>","Cantón: ","</b>",
(Araña$locality), "<br>",
"<b>","Fecha: ","</b>",
(Araña$eventDate), "<br>",
(Araña$decimalLongitude),
(Araña$decimalLatitude)
)
Saimiri <-paste0(
"<b>","Especie del primate: ","</b>",
(Ardilla$species), "<br>",
"<b>","Provincia: ","</b>",
(Ardilla$stateProvince), "<br>",
"<b>","Cantón: ","</b>",
(Ardilla$locality), "<br>",
"<b>","Fecha: ","</b>",
(Ardilla$eventDate), "<br>",
(Ardilla$decimalLongitude),
(Ardilla$decimalLatitude)
)
Alouatta <-paste0(
"<b>","Especie del primate: ","</b>",
(Aullador$species), "<br>",
"<b>","Provincia: ","</b>",
(Aullador$stateProvince), "<br>",
"<b>","Cantón: ","</b>",
(Aullador$locality), "<br>",
"<b>","Fecha: ","</b>",
(Aullador$eventDate), "<br>",
(Aullador$decimalLongitude),
(Aullador$decimalLatitude)
)
Cebus <- paste0(
"<b>","Especie del primate: ","</b>",
(Carablanca$species), "<br>",
"<b>","Provincia: ","</b>",
(Carablanca$stateProvince), "<br>",
"<b>","Cantón: ","</b>",
(Carablanca$locality), "<br>",
"<b>","Fecha: ","</b>",
(Carablanca$eventDate), "<br>",
(Carablanca$decimalLongitude),
(Carablanca$decimalLatitude)
)
primates_cr%>%
leaflet() %>%
addProviderTiles(providers$OpenStreetMap.Mapnik, group = "OpenStreetMap") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Stamen Toner Lite") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Imágenes de ESRI") %>%
addRasterImage(
altitud,
colors = rcol,
opacity = 0.8,
group = "Altitud"
) %>%
addCircleMarkers(
data = Araña,
stroke = F,
radius = 4,
fillColor = '#977272',
fillOpacity = 1,
popup = Ateles,
group = "Ateles geoffroyi"
)%>%
addCircleMarkers(
data = Ardilla,
stroke = F,
radius = 4,
fillColor = '#dc6851',
fillOpacity = 1,
popup = Saimiri,
group = "Saimiri oerstedii"
) %>%
addCircleMarkers(
data = Aullador,
stroke = F,
radius = 4,
fillColor = '#464755',
fillOpacity = 1,
popup = Alouatta,
group = "Alouatta palliata"
) %>%
addCircleMarkers(
data = Carablanca,
stroke = F,
radius = 4,
fillColor = '#d5b98a',
fillOpacity = 1,
popup = Cebus,
group = "Cebus capucinus"
) %>%
addLayersControl(
baseGroups = c("OpenStreetMap", "Stamen Toner Lite", "Imágenes de ESRI"),
overlayGroups = c("Ateles geoffroyi","Cebus capucinus","Alouatta palliata","Saimiri oerstedii", "altitud")
) %>%
addMiniMap(
tiles = providers$Stamen.OpenStreetMap.Mapnik,
position = "bottomleft",
toggleDisplay = TRUE
)